package com.example.service;

import com.example.domain.dto.CourseDTO;
import com.example.domain.dto.TimeDTO;
import com.example.domain.po.Chapter;
import com.example.domain.po.Course;
import com.example.domain.vo.CourseContentVo;
import com.example.domain.vo.CourseSum;
import com.example.domain.vo.CourseVo;
import com.example.util.PageBean;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface CourseService {
    PageBean<CourseVo> list(Integer pageNum, Integer pageSize, String name, String department);

    void add(CourseDTO courseDTO) throws IOException;

    void del(Integer id);

    List<Map<String,Object>> listByHeat();

    List<Map<String, Object>> listByVip(Integer type);

    void update(CourseDTO courseDTO);

    void grounding(Integer id);

    void off(Integer id);



    Course findById(Integer courseId);

    List<Map<String, Object>> listByLike(String name);

    PageBean<CourseVo> recommend(Integer pageNum, Integer pageSize, Integer type,Integer userId);

    Map<String,Object> getById(Integer id);

    CourseSum sum(Integer userId);

    CourseSum sumBuy(Integer userId);

    List<CourseContentVo>  getCourseContent(Integer courseId, String courseName, String doctorName);

    void addChapter(Chapter chapter);

    void update2(Course course);

    List<Map<String, Object>> listCFByCid(Integer id);

    void addTime(TimeDTO timeDTO);
}
